iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0
DevOps

30 天自動化高手養成:玩轉 n8n 工作流系列 第 5

Day 5:常見資料處理:Function Node、IF、Merge 的應用

  • 分享至 

  • xImage
  •  

在前面幾天我們已經認識了 n8n 的基本概念(Workflow、Node、Trigger),今天要進一步探索 資料處理的必備工具

  • Function Node
  • IF Node
  • Merge Node

這三個元件是 n8n 工作流的「資料變形器」,幾乎所有進階應用都會用到它們。


為什麼需要資料處理?

在自動化流程中,資料很少會剛好符合我們的需求,例如:

  • API 回傳一大堆 JSON,但我們只要其中幾個欄位
  • 判斷資料狀態是否需要執行某些步驟(例如「如果天氣是雨天,就發通知」)
  • 多個資料來源需要合併成一份結果

這時候,就要靠 n8n 的資料處理節點來幫忙。


1. Function Node:自訂 JavaScript

Function Node 允許你用 JavaScript 處理資料。
基本結構如下:

return items.map(item => {
  return {
    json: {
      message: `Hello, ${item.json.name}!`,
      age: item.json.age,
    }
  };
});

常見應用:

  1. 資料格式轉換

    • YYYY-MM-DD 轉成 MM/DD
  2. 新增欄位

    • API 只回傳價格,你要加上「含稅價」。
  3. 資料清理

    • 過濾掉 null 或空字串。

範例:把 API 回傳的「溫度」加上單位

return items.map(item => {
  return {
    json: {
      city: item.json.city,
      temperature: `${item.json.temp}°C`
    }
  };
});

2. IF Node:條件判斷

IF Node 就像程式語言的 if 判斷。

範例:發送天氣通知

假設天氣 API 回傳:

{
  "city": "Taipei",
  "condition": "Rainy",
  "temp": 28
}

我們想要:

  • 如果 condition = Rainy,就傳 LINE 通知
  • 否則,不做事

在 IF Node 裡設定:

  • 條件:json.conditionequalsRainy
  • True 分支 → 連接到 LINE 節點
  • False 分支 → 可以忽略,或接到「Log」節點

https://ithelp.ithome.com.tw/upload/images/20250919/20168203P57iFQAl2p.png

(範例圖:n8n 官方文件的 IF Node 示意圖)


3. Merge Node:合併資料

Merge Node 可以把兩條分支的資料整合成一個結果。
https://ithelp.ithome.com.tw/upload/images/20250919/20168203gusCtOr9zn.png

常見模式:

  • Append:把多個來源的資料放在一起
  • Merge by Key:根據相同的欄位合併

範例:合併 Google Sheet + API

  • 分支 A:讀取 Google Sheet(客戶清單)
  • 分支 B:呼叫 API(查詢客戶消費紀錄)
  • 使用 Merge → Key 設定為 email
  • 結果:一個完整的 JSON,含有客戶基本資料 + 消費紀錄

結果 JSON:

{
  "name": "Kevin",
  "email": "kevin@test.com",
  "purchase": 3500
}

小結

今天我們學到三個重要工具:

  • Function Node → 靈活處理資料,像自動化的瑞士刀
  • IF Node → 建立條件邏輯,讓流程更智慧
  • Merge Node → 整合多個資料來源

只要熟悉這三個 Node,你就能處理 80% 的資料轉換情境。

明天開始,我們會進入 實戰案例(Part 2),第一個就是 Google Sheet 自動更新 🚀。


要不要我幫你把這篇 加上範例工作流圖(用 Mermaid 畫出節點流程圖)?這樣讀者會更直覺理解流程。


上一篇
Day 4:n8n 核心概念 — Node、Trigger、Execution(Gmail 範例)
下一篇
Day 6:Google Sheet 自動更新(API 寫入)
系列文
30 天自動化高手養成:玩轉 n8n 工作流12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言